package com.jy.modules.cims.data.interact.tbj.loan.request;

import java.math.BigDecimal;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.NotBlank;

/**
 * @description 铜板街产品相关的信息Request。
 * @author shengzhoutao
 * @date 2015-09-07
 */
public class RequestProdInfoDTO {

	@NotBlank(message = "产品ID productId不能为空")
	@Size(min = 1, max = 50, message = "产品ID productId长度必须在1-50之间")
	private String productId;// VARCHAR(50) k1504212302 产品ID

	@NotBlank(message = "产品名称 productName不能为空")
	@Size(min = 1, max = 20, message = "产品名称 productName长度必须在1-20之间")
	private String productName;// VARCHAR(20) 产品名称

	@NotNull(message = "合同金额 contractAmount不能为空")
	private BigDecimal contractAmount;

	@NotNull(message = "保证金 bondAmount不能为空")
	private BigDecimal bondAmount;
	
	@NotNull(message = "起息时间 startBenefitDate不能为空")
	private java.util.Date startBenefitDate;// DATE 起息时间，格式yyyy-MM-dd

	@NotNull(message = "到期时间 endBenefitDate不能为空")
	private java.util.Date endBenefitDate;// DATE 到期时间，格式yyyy-MM-dd

	@NotNull(message = "商户到期日 endBenefitDate不能为空")
	private java.util.Date merchantEndDate;// DATE 到期时间，格式yyyy-MM-dd

	@NotNull(message = "期限period不能为空（天）")
	@Min(value = 0, message = "期限period最小值必须是0")
	private Integer period;// INT(8) 期限

	@NotNull(message = "利率（合同利率）profit不能为空")
	private BigDecimal profit;

	/** 借款信息审批编号 */
	@NotNull(message = "借款信息审批编号loan不能为空")
	private String[] loan;

	public String getProductId() {
		return productId;
	}

	public void setProductId(String productId) {
		this.productId = productId;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public java.util.Date getStartBenefitDate() {
		return startBenefitDate;
	}

	public void setStartBenefitDate(java.util.Date startBenefitDate) {
		this.startBenefitDate = startBenefitDate;
	}

	public java.util.Date getEndBenefitDate() {
		return endBenefitDate;
	}

	public void setEndBenefitDate(java.util.Date endBenefitDate) {
		this.endBenefitDate = endBenefitDate;
	}

	public Integer getPeriod() {
		return period;
	}

	public String[] getLoan() {
		return loan;
	}

	public void setLoan(String[] loan) {
		this.loan = loan;
	}

	public BigDecimal getContractAmount() {
		return contractAmount;
	}

	public void setContractAmount(BigDecimal contractAmount) {
		this.contractAmount = contractAmount;
	}

	public BigDecimal getBondAmount() {
		return bondAmount;
	}

	public void setBondAmount(BigDecimal bondAmount) {
		this.bondAmount = bondAmount;
	}

	public java.util.Date getMerchantEndDate() {
		return merchantEndDate;
	}

	public void setMerchantEndDate(java.util.Date merchantEndDate) {
		this.merchantEndDate = merchantEndDate;
	}

	public BigDecimal getProfit() {
		return profit;
	}

	public void setProfit(BigDecimal profit) {
		this.profit = profit;
	}

	public void setPeriod(Integer period) {
		this.period = period;
	}
	
}
